package com.zucc.eye.entity;

import com.vladmihalcea.hibernate.type.json.JsonStringType;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import java.util.Date;
import java.util.List;
import java.io.Serializable;
import javax.persistence.*;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.annotations.TypeDef;

/**
 * @description user
 * @author zhengkai.blog.csdn.net
 * @date 2022-02-09
 */
@Entity
@Builder
@AllArgsConstructor
@Data
@Table(name="user")
@ApiModel("user")
//https://www.cnblogs.com/wanthune/p/12666657.html
//@TypeDef(name = "json", typeClass = JsonStringType.class)
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @ApiModelProperty("id")
//    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
    * login
    */
    @ApiModelProperty("login")
    @Column(name="login")
    private String login;


    /**
    * node_id
    */
    @ApiModelProperty("node_id")
    @Column(name="node_id")
    private String nodeId;

    /**
    * avatar_url
    */
    @ApiModelProperty("avatar_url")
    @Column(name="avatar_url")
    private String avatarUrl;

    /**
    * gravatar_id
    */
    @ApiModelProperty("gravatar_id")
    @Column(name="gravatar_id")
    private String gravatarId;

    /**
    * url
    */
    @ApiModelProperty("url")
    @Column(name="url")
    private String url;

    /**
    * html_url
    */
    @ApiModelProperty("html_url")
    @Column(name="html_url")
    private String htmlUrl;

    /**
    * followers_url
    */
    @ApiModelProperty("followers_url")
    @Column(name="followers_url")
    private String followersUrl;

    /**
    * following_url
    */
    @ApiModelProperty("following_url")
    @Column(name="following_url")
    private String followingUrl;

    /**
    * gists_url
    */
    @ApiModelProperty("gists_url")
    @Column(name="gists_url")
    private String gistsUrl;

    /**
    * repos_url
    */
    @ApiModelProperty("repos_url")
    @Column(name="repos_url")
    private String reposUrl;

    /**
    * subscriptions_url
    */
    @ApiModelProperty("subscriptions_url")
    @Column(name="subscriptions_url")
    private String subscriptionsUrl;

    /**
    * organizations_url
    */
    @ApiModelProperty("organizations_url")
    @Column(name="organizations_url")
    private String organizationsUrl;

    /**
    * starred_url
    */
    @ApiModelProperty("starred_url")
    @Column(name="starred_url")
    private String starredUrl;

    /**
    * events_url
    */
    @ApiModelProperty("events_url")
    @Column(name="events_url")
    private String eventsUrl;

    /**
    * received_events_url
    */
    @ApiModelProperty("received_events_url")
    @Column(name="received_events_url")
    private String receivedEventsUrl;

    /**
    * type
    */
    @ApiModelProperty("type")
    @Column(name="type")
    private String type;

    /**
    * site_admin
    */
    @ApiModelProperty("site_admin")
    @Column(name="site_admin")
    private Integer siteAdmin;

    public User() {
    }

}